//TODO Insert en Edit een gezamelijke view van maken?
Ext.define('ProjectAON.view.leerlingenBeheren.Insert', {
    extend:'Ext.window.Window',
    alias:'widget.studentadd',
    title:'Toevoegen',
    layout:'fit',
    //require:'Ext.form.*',
    autoShow:true,
    width: 290,

    initComponent:function () {
        this.items = [
            {
                defaults:{
                    allowBlank:false,
                    msgTarget:'side'
                },

                xtype:'form',
                items:[
                    {
                        xtype:'textfield',
                        id:'internnummer',
                        name:'internnummer',
                        vtype:'numeric',
                        fieldLabel:'Intern nummer'
                    },
                    {
                        xtype:'textfield',
                        id:'naam',
                        name:'naam',
                        vtype:'alphatext',
                        fieldLabel:'Naam'
                    },
                    {
                        xtype:'textfield',
                        id:'voornaam',
                        name:'voornaam',
                        vtype:'alphatext',
                        fieldLabel:'Voornaam'
                    },
                    {
                        xtype:'textfield',
                        id:'email',
                        name:'email',
                        vtype:'email',
                        fieldLabel:'E-mailadres'
                    },
                    {
                        xtype:'textfield',
                        id:'klas',
                        name:'klas',
                        vtype:'alphatext',
                        fieldLabel:'Klas'
                    },
                    {
                        xtype:'textfield',
                        id:'schooljaar',
                        name:'schooljaar',
                        vtype:'year',
                        fieldLabel:'Schooljaar'
                    }
                ],

                buttons:[
                    {
                        text:'Opslaan',
                        formBind:true,
                        action:'save'
                    },
                    {
                        text:'Annuleer',
                        scope:this,
                        action:'close',
                        handler:this.close
                    }
                ]
            }
        ];

        this.callParent(arguments);
    }
});

Ext.onReady(function() {

    //TODO Regexen goed uitwerken
    var alphatextRegex = /^[A-Za-z ]*$/;
    var addressRegex = /^([a-zA-Z0-9 -éëäèöüï]*)*$/;
    var postalRegex = /^[0-9a-zA-Z ]{4,}$/;
    var telephoneRegex = /^[0-9]{8,}$/;
    var functionRegex = /^[0-9]{2}$/;
    var yearRegex = /^[0-9]{4}$/;

    Ext.apply(Ext.form.field.VTypes, {

        alphatext: function(val) {
            return alphatextRegex.test(val);
        },
         alphatextText: 'Gelieve een geldige waarde ingeven',

        numeric: function(val) {
            return numericRegex.test(val);
        },
        numericText: 'Gelieve een geldig intern nummer in te geven',

        address: function(val) {
            return addressRegex.test(val);
        },
        addressText: 'Gelieve een geldig adres in te geven',

        postalcode: function(val) {
            return postalRegex.test(val);
        },
        postalcodeText: 'Gelieve een geldige postocde in te geven',

        telephone: function(val) {
            return telephoneRegex.test(val);
        },
        telephoneText: 'Gelieve een geldig telefoonnummer in te geven',

        functionid: function(val) {
            return functionRegex.test(val);
        },
        functionidText: 'Gelieve een geldige functie in te geven',

        year: function(val) {
            return yearRegex.test(val);
        },
        yearText: 'Gelieve een geldig jaartal in te geven'
    });
});